package scala.eclipse.pde.ui.templates.osgi;

import org.eclipse.pde.ui.IFieldData;
import org.eclipse.pde.ui.templates.ITemplateSection;
import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;

/**
 * This class allows one to create a new Scala OSGi package.
 * 
 * @author J. Suereth
 */
public class HelloScalaOSGiNewWizard extends NewPluginTemplateWizard {
	/* (non-Javadoc)
	 * @see org.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard#init(org.eclipse.pde.ui.IFieldData)
	 */
	public void init(IFieldData data) {
		super.init(data);
		setWindowTitle("Create New Scala OSGi package");
	}

	/* (non-Javadoc)
	 * @see org.eclipse.pde.ui.templates.NewPluginTemplateWizard#createTemplateSections()
	 */
	public ITemplateSection[] createTemplateSections() {
		return new ITemplateSection[] {new HelloScalaOSGiTemplate()};
	}

	public String[] getImportPackages() {
		return new String[] {
				"org.osgi.framework;version=\"1.3.0\"",
				"scala",
				"scala.actors",
				"scala.actors.remote",
				"scala.collection",
				"scala.collection.immutable",
				"scala.collection.jcl",
				"scala.collection.mutable",
				"scala.compat",
				"scala.concurrent",
				"scala.io",
				"scala.mobile",
				"scala.ref",
				"scala.reflect",
				"scala.runtime",
				"scala.testing",
				"scala.text",
				"scala.util",
				"scala.util.automata",
				"scala.util.grammar",
				"scala.util.logging",
				"scala.util.matching",
				"scala.util.parsing",
				"scala.util.parsing.ast",
				"scala.util.parsing.combinator",
				"scala.util.parsing.combinator.lexical",
				"scala.util.parsing.combinator.syntactical",
				"scala.util.parsing.combinator.testing",
				"scala.util.parsing.input",
				"scala.util.parsing.json",
				"scala.util.parsing.syntax",
				"scala.util.regexp"
// These aren't exported by the Eclipse scala-library.jar file.... 				
//				"scala.util.xml",
//				"scala.util.xml.dtd",
//				"scala.util.xml.factory",
//				"scala.util.xml.include",
//				"scala.util.xml.include.sax",
//				"scala.util.xml.parsing",
//				"scala.util.xml.path",
//				"scala.util.xml.persistent",
//				"scala.util.xml.pull",
//				"scala.util.xml.transform"
				
		}; //$NON-NLS-1$
	}

}
